import { Subscription } from 'egg'

class UpdateCache extends Subscription {
  // 通过 schedule 属性来设置定时任务的执行间隔等配置
  static get schedule() {
    return {
      // 定时任务不会被启动
      // disable: true,
      // 1 分钟间隔
      // interval: '1m',
      // 每三小时准点执行一次
      cron: '0 0 */3 * * *',
      // 指定所有的 worker 都需要执行
      type: 'all',
      // type: 'worker',
      // 应用启动并 ready 后立刻执行一次
      immediate: true,
    }
  }

  // subscribe 是真正定时任务执行时被运行的函数
  async subscribe() {
    this.logger.info('app/schedule/sample.js schedule said: I am done!')
  }
}

export default UpdateCache
